Each time new hardware or software is installed in a personal computer, a variety of configuration parameters are likely to be installed or changed. Often, hardware configuration files must be updated, new device driver files must be loaded and configured, and new shared library software files must be installed or updated. Occasionally, an attempt to install new hardware or software will result in installation of new software files or configuration of the system in a manner that causes the computer to function improperly. This can be the result of incompatible driver files, misconfigured hardware or software, or a variety of other problems that are usually difficult to diagnose.
Installation of new hardware into a computer system typically requires extensive modification to the computer system's software configuration. For example, addition of a new hardware device in Microsoft Windows 98 may require addition or change to win.sys and win.ini files, addition of hardware-specific driver software, changes to the autoexec.bat and config.sys files, and changes to the hardware configuration list. The hardware configuration list further includes hardware parameters such as interrupt request (IRQ) settings, direct memory access (DMA) settings, reserved address space settings and other hardware configuration settings. If any of these settings are incorrect or interfere with another device, the misconfiguration may cause the computer to operate improperly and unpredictably.
Incompatibilities resulting from installation or configuration of new software can be just as problematic and difficult to diagnose, as proper software operation often relies on a particular configuration of the operating system and presence of needed files. Software installed in Windows 98, for example, typically creates several entries in the Microsoft Windows registry, and may also modify several initialization (INI) files such as the win.ini file or secondary INI files.
When an incompatibility is discovered, the computer user is often left to experiment with the system settings, try reinstalling selected software, or to uninstall suspected offending software. Experimenting with the system settings requires a knowledge of what is causing the problem and what system settings must be changed to a specific value to fix the problem, and so is not a practical solution for many unsophisticated users. Reinstalling selected software may fix the problem, but may also only serve to reinstall or reconfigure the computer to the same improper state. Uninstalling software is difficult and unreliable in operating systems such as Windows, as the Windows uninstall utility does not account for changes to the computer configuration subsequent to installation of the software being uninstalled. Software installed after the software being uninstalled may therefore have to be reinstalled, creating a great deal of work for the user. Also, uninstallation may prompt a user to delete dynamic link library (DLL) files which the operating system mistakenly believes are not used by other programs, but which are needed by other software. This again requires reinstallation of the software that requires use of the missing DLL file, further complicating the process.
Software exists that allows a user to save a record of various system configuration parameters so that they can be restored should the machine become inoperable. One such software product is PictureTaker by Lanovation. Such software allows a user to also log changes made to the system configuration since the last record was made, so that a complete record need not be taken every time the system configuration changes. Therefore, if a change in system configuration occurs such as from installation of new hardware or software and the change causes the machine to operate improperly, the PictureTaker software allows the user to restore the system configuration to a previous state that is believed to be good.
But, such software requires booting the operating system and executing the PictureTaker program to restore a good system configuration which may not be possible if the improper system configuration doesn't allow the operating system to fully boot. Also, a user may not execute software that requires manual backing up and restoring of configurations regularly enough to ensure that a desired good configuration is stored. Therefore, a more user-friendly method of backing up and restoring system configuration is desired.